/**
 * 数据加载
 */
$(function () {
    load();
});

function load() {
    $('#exampleTable').bootstrapTable({
        url: "/standard/get_parent_list",
        method: 'get',
        detailView: true,// 父子表
        dataType: "json", // 服务器返回的数据类型
        pagination: true, // 设置为true会在底部显示分页条
        // queryParamsType : "limit",
        // //设置为limit则会发送符合RESTFull格式的参数
        singleSelect: false, // 设置为true将禁止多选
        iconSize: 'outline',
        toolbar: '#exampleToolbar',
        //editable:true,//开启编辑模式
        // contentType : "application/x-www-form-urlencoded",
        // //发送到服务器的数据编码类型
        pageSize: 8, // 如果设置了分页，每页数据条数
        pageNumber: 1, // 如果设置了分布，首页页码
        search: false, // 是否显示搜索框
        showColumns: false, // 是否显示内容下拉框（选择显示的列）
        queryParams: function (params) {
            return {
                productId: $('#productId').val(),
            };
        },
        columns: [{ // 列配置项 数据类型，详细参数配置参见文档http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/
            checkbox: true// 列表中显示复选框
        }, {
            field: 'id',
            title: '序号',
            align: 'center'
        }, {
            field: 'name',
            title: '规格名称',
            align: 'center'
        }, {
            field: 'createTime',
            title: '创建时间',
            align: 'center',
            formatter: function (value, row, index) {
                return formatUnixtimestamp(value);
            }
        }, {
            field: 'updateTime',
            title: '修改时间',
            align: 'center',
            formatter: function (value, row, index) {
                return formatUnixtimestamp(value);
            }
        }, {
            title: '操作',
            field: 'id',
            align: 'center',
            formatter: function (value, row, index) {
                var e = '<button class="btn btn-warning btn-xs copy" onclick="editParent(' + row.id + ')">编辑</button>&nbsp;&nbsp;';
                var d = '<button class="btn btn-success btn-xs copy" onclick="addChild(' + row.id + ')">新增</button>&nbsp;&nbsp;';
                return e + d;
            }
        }],
        // 注册加载子表的事件。注意下这里的三个参数！
        onExpandRow: function (index, row, $detail) {
            InitSubTable(index, row, $detail);
        }
    });
}

//初始化子表格(无线循环)
var InitSubTable = function (index, row, $detail) {
    var parentId = row.id;
    var cur_table = $detail.html('<table></table>').find('table');
    $(cur_table).bootstrapTable({
        url: "/standard/item/get_children_list",
        method: 'get',
        queryParams: {standardId: parentId},
        clickToSelect: true,
        //detailView: true,//父子表
        singleSelect: true, // 设置为true将禁止多选
        uniqueId: "id",
        pageSize: 10,
        pageList: [10, 25],
        columns: [{
            checkbox: true
        }, {
            field: 'id',
            title: '序号',
            align: 'center'
        }, {
            field: 'name',
            title: '名称',
            align: 'center'
        }, {
            field: 'price',
            title: '价格',
            align: 'center'
        }, {
            field: 'stock',
            title: '库存',
            align: 'center'
        }, {
            field: 'url',
            title: '图片',
            align: 'center',
            formatter: function (value, row, index) {
                var image = '<div class="photos">'
                    + '<a target="_blank" href="' + value + '"><img alt="image" class="feed-photo" src="' + value + '"></a>'
                    + '</div>';
                return image;
            }
        }, {
            field: 'createTime',
            title: '创建时间',
            align: 'center',
            formatter: function (value, row, index) {
                return formatUnixtimestamp(value);
            }
        }, {
            title: '操作',
            field: 'id',
            align: 'center',
            formatter: function (value, row, index) {
                var e = '<button class="btn btn-warning btn-xs copy" onclick="editChild(' + row.id + ')">编辑</button>&nbsp;&nbsp;';
                var d = '<button class="btn btn-success btn-xs copy" onclick="deleteChild(' + row.id + ')">删除</button>&nbsp;&nbsp;';
                return e + d;
            }
        }],
        //无线循环取子表，直到子表里面没有记录
//        onExpandRow: function (index, row, $Subdetail) {
//            InitSubTable(index, row, $Subdetail);
//        }
    });
};

function reLoad() {
    $('#exampleTable').bootstrapTable('refresh');
}

function add() {
    // iframe层
    layer.open({
        type: 2,
        title: '增加规格',
        maxmin: true,
        shadeClose: false, // 点击遮罩关闭层
        area: ['700px', '300px'],
        content: '/standard/add/' + $('#productId').val()
    });
}

function editParent(id) {
    layer.open({
        type: 2,
        title: '编辑',
        maxmin: true,
        shadeClose: false, // 点击遮罩关闭层
        area: ['700px', '300px'],
        content: '/standard/edit/' + id // iframe的url
    });
}

function editChild(id) {
    layer.open({
        type: 2,
        title: '编辑',
        maxmin: true,
        shadeClose: false, // 点击遮罩关闭层
        area: ['700px', '300px'],
        content: '/standard/item/edit/' + id // iframe的url
    });
}

function addChild(standardId) {
    layer.open({
        type: 2,
        title: '新增规格明细',
        maxmin: true,
        shadeClose: false, // 点击遮罩关闭层
        area: ['700px', '300px'],
        content: '/standard/item/add_child/' + standardId // iframe的url
    });
}

function remove(id) {
    layer.confirm('确定要删除选中的记录？', {
        btn: ['确定', '取消']
    }, function () {
        $.ajax({
            url: prefix + "/remove",
            type: "post",
            data: {
                'deptId': id
            },
            success: function (r) {
                if (r.code == 0) {
                    layer.msg(r.msg);
                    reLoad();
                } else {
                    layer.msg(r.msg);
                }
            }
        });
    })
}

function deleteChild(id) {
    layer.confirm('确定要删除选中的记录？', {
        btn: ['确定', '取消']
    }, function () {
        $.ajax({
            url: "/standard/item/remove",
            type: "post",
            data: {
                'id': id
            },
            success: function (r) {
                if (r.code == 0) {
                    layer.msg(r.msg);
                    reLoad();
                } else {
                    layer.msg(r.msg);
                }
            }
        });
    })
}

function resetPwd(id) {
}

function batchRemove() {
    var rows = $('#exampleTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
    if (rows.length == 0) {
        layer.msg("请选择要删除的数据");
        return;
    }
    layer.confirm("确认要删除选中的'" + rows.length + "'条数据吗?", {
        btn: ['确定', '取消']
        // 按钮
    }, function () {
        var ids = new Array();
        // 遍历所有选择的行数据，取每条数据对应的ID
        $.each(rows, function (i, row) {
            ids[i] = row['id'];
        });
        $.ajax({
            type: 'POST',
            data: {
                "ids": ids
            },
            url: '/standard/batchRemove',
            success: function (r) {
                if (r.code == 0) {
                    layer.msg(r.msg);
                    reLoad();
                } else {
                    layer.msg(r.msg);
                }
            }
        });
    }, function () {
    });
}

function formatUnixtimestamp(unixtimestamp) {
    var unixtimestamp = new Date(unixtimestamp * 1000);
    var year = 1900 + unixtimestamp.getYear();
    var month = "0" + (unixtimestamp.getMonth() + 1);
    var date = "0" + unixtimestamp.getDate();
    var hour = "0" + unixtimestamp.getHours();
    var minute = "0" + unixtimestamp.getMinutes();
    var second = "0" + unixtimestamp.getSeconds();
    return year + "-" + month.substring(month.length - 2, month.length) + "-" + date.substring(date.length - 2, date.length)
        + " " + hour.substring(hour.length - 2, hour.length) + ":"
        + minute.substring(minute.length - 2, minute.length) + ":"
        + second.substring(second.length - 2, second.length);
}